package Mundo;

import java.io.File;
import java.io.FileOutputStream;
import Objetos.Entidade;

public class gravaMundo implements Runnable{

	private Mapa gravarMapa;
	private boolean inThread = true;
	
	public gravaMundo(Mapa map){
		gravarMapa = map;
	}
	
	public void run(){
		 try {
			 while (inThread) {
				 Thread.sleep(30000);
				 exeGravaMundo(gravarMapa);
			 }
		 }  
		 catch (InterruptedException ee) {  
			// ee.printStackTrace();  
		 }  		
	}

	public void exeGravaMundo(Mapa gravaMapa){
	    System.out.println("");
	   // System.out.println("Gravando mundo...");
		System.out.print(">>> ");
		try{			     
		    File arq =  new File("_data/world.data");
		    FileOutputStream fos = new FileOutputStream(arq);
			String texto;  
	
			 for (int y=0; y<=gravaMapa.getMapaY()-1; y++){
			 	 for (int x=0; x<=gravaMapa.getMapaX()-1; x++){
			 		 Entidade itm = gravaMapa.getItem(x, y);
					 if (itm!=null) {
						 texto = x + "," + y + ";" + itm.getClass().getName() + "\n";  
						 fos.write(texto.getBytes());
					 }
				 }
			 }
		 } catch(Exception e) {
			e.printStackTrace();
		 }		
	}
}
